class VideoListModel {
  int? errCode;
  String? errMsg;
  VideoListRespModel? resp;

  VideoListModel({this.errCode, this.errMsg, this.resp});

  VideoListModel.fromJson(Map<String, dynamic> json) {
    errCode = json['ErrCode'];
    errMsg = json['ErrMsg'];
    resp =
        json['Resp'] != null ? VideoListRespModel.fromJson(json['Resp']) : null;
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = {};
    data['ErrCode'] = errCode;
    data['ErrMsg'] = errMsg;
    if (resp != null) {
      data['Resp'] = resp!.toJson();
    }
    return data;
  }
}

class VideoListRespModel {
  int? nextOffset;
  int? total;
  List<VideoListVideosModel>? videos;
  List<VideoListVideosModel>? imgList;
  VideoListRespModel({this.nextOffset, this.total, this.videos,this.imgList});

  VideoListRespModel.fromJson(Map<String, dynamic> json) {
    nextOffset = json['NextOffset'];
    total = json['Total'];
    if (json['Videos'] != null) {
      videos = <VideoListVideosModel>[];
      json['Videos'].forEach((v) {
        videos!.add(VideoListVideosModel.fromJson(v));
      });
    }
    if (json['Imgs'] != null) {
      imgList = <VideoListVideosModel>[];
      json['Imgs'].forEach((v) {
        imgList!.add(VideoListVideosModel.fromJson(v));
      });
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = {};
    data['NextOffset'] = nextOffset;
    data['Total'] = total;
    if (videos != null) {
      data['Videos'] = videos!.map((v) => v.toJson()).toList();
    }
    if (imgList != null) {
      data['Imgs'] = imgList!.map((v) => v.toJson()).toList();
    }
    return data;
  }
}

class VideoListVideosModel {
  String? authorNickname;
  String? authorUsername;
  int? avgScore;
  int? createTime;
  int? dataType;
  String? desc;
  String? firstFrame;
  int? gptPromptist;
  int? height;
  int? id;
  int? likes;
  int? modifyTime;
  String? name;
  String? negativePrompt;
  String? pModel;
  int? pModelId;
  String? prompt;
  int? scoreCount;
  int? size;
  int? status;
  int? toPromptist;
  String? uModel;
  int? uModelId;
  int? unlikes;
  String? url;
  int? userLike;
  int? userScore;
  int? videoLength;
  String? webp;
  int? width;

  VideoListVideosModel(
      {this.authorNickname,
      this.authorUsername,
      this.avgScore,
      this.createTime,
      this.dataType,
      this.desc,
      this.firstFrame,
      this.gptPromptist,
      this.height,
      this.id,
      this.likes,
      this.modifyTime,
      this.name,
      this.negativePrompt,
      this.pModel,
      this.pModelId,
      this.prompt,
      this.scoreCount,
      this.size,
      this.status,
      this.toPromptist,
      this.uModel,
      this.uModelId,
      this.unlikes,
      this.url,
      this.userLike,
      this.userScore,
      this.videoLength,
      this.webp,
      this.width});

  VideoListVideosModel.fromJson(Map<String, dynamic> json) {
    authorNickname = json['AuthorNickname'];
    authorUsername = json['AuthorUsername'];
    avgScore = json['AvgScore'];
    createTime = json['CreateTime'];
    dataType = json['DataType'];
    desc = json['Desc'];
    firstFrame = json['FirstFrame'];
    gptPromptist = json['GptPromptist'];
    height = json['Height'];
    id = json['Id'];
    likes = json['Likes'];
    modifyTime = json['ModifyTime'];
    name = json['Name'];
    negativePrompt = json['NegativePrompt'];
    pModel = json['PModel'];
    pModelId = json['PModelId'];
    prompt = json['Prompt'];
    scoreCount = json['ScoreCount'];
    size = json['Size'];
    status = json['Status'];
    toPromptist = json['ToPromptist'];
    uModel = json['UModel'];
    uModelId = json['UModelId'];
    unlikes = json['Unlikes'];
    url = json['Url'];
    userLike = json['UserLike'];
    userScore = json['UserScore'];
    videoLength = json['VideoLength'];
    webp = json['Webp'];
    width = json['Width'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['AuthorNickname'] = authorNickname;
    data['AuthorUsername'] = authorUsername;
    data['AvgScore'] = avgScore;
    data['CreateTime'] = createTime;
    data['DataType'] = dataType;
    data['Desc'] = desc;
    data['FirstFrame'] = firstFrame;
    data['GptPromptist'] = gptPromptist;
    data['Height'] = height;
    data['Id'] = id;
    data['Likes'] = likes;
    data['ModifyTime'] = modifyTime;
    data['Name'] = name;
    data['NegativePrompt'] = negativePrompt;
    data['PModel'] = pModel;
    data['PModelId'] = pModelId;
    data['Prompt'] = prompt;
    data['ScoreCount'] = scoreCount;
    data['Size'] = size;
    data['Status'] = status;
    data['ToPromptist'] = toPromptist;
    data['UModel'] = uModel;
    data['UModelId'] = uModelId;
    data['Unlikes'] = unlikes;
    data['Url'] = url;
    data['UserLike'] = userLike;
    data['UserScore'] = userScore;
    data['VideoLength'] = videoLength;
    data['Webp'] = webp;
    data['Width'] = width;
    return data;
  }
}
